// /**
//  *第三方登录
//  */
// import { mapActions } from 'vuex'
// import { postAction } from '@api/manage'
// import { timeFix } from '@/utils/util'

// export const JeecgThirdLoginMixin = {
//   data() {
//     return {
//       //第三方登录相关信息
//       thirdLoginInfo: '',
//       thirdPasswordShow: false,
//       thirdLoginPassword: '',
//       thirdLoginUser: '',
//       thirdConfirmShow: false,
//       thirdCreateUserLoding: false,
//       thirdLoginState: false,
//       //绑定手机号弹窗
//       bindingPhoneModal: false,
//       thirdPhone: '',
//       thirdCaptcha: '',
//       //获取验证码按钮30s之内是否可点击
//       thirdState: {
//         time: 30,
//         smsSendBtn: false
//       },
//       //第三方用户UUID
//       thirdUserUuid: '',
//       thirdType: '',
//       url: {
//         bindingThirdPhone: '/sys/thirdLogin/bindingThirdPhone'
//       }
//     }
//   },
//   created() {
//   },
//   methods: {
//     ...mapActions(['ThirdLogin']),
//     //第三方登录
//     onThirdLogin(source) {
//       let url = window._CONFIG['domianURL'] + `/sys/thirdLogin/render/${source}`
//       window.open(url, `login ${source}`, 'height=500, width=500, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=n o, status=no')
//       let that = this
//       that.thirdType = source
//       that.thirdLoginInfo = ''
//       that.thirdLoginState = false
//       let receiveMessage = function(event) {
//         let token = event.data
//         if (typeof token === 'string') {
//           //如果是字符串类型 说明是token信息
//           if (token === '登录失败') {
//             that.$message.warning(token)
//           } else if (token.includes('绑定手机号')) {
//             that.bindingPhoneModal = true
//             let strings = token.split(',')
//             that.thirdUserUuid = strings[1]
//           } else {
//             that.doThirdLogin(token)
//           }
//         } else if (typeof token === 'object') {
//           //对象类型 说明需要提示是否绑定现有账号
//           if (token['isObj'] === true) {
//             that.thirdConfirmShow = true
//             that.thirdLoginInfo = { ...token }
//           }
//         } else {
//           that.$message.warning('不识别的信息传递')
//         }
//       }
//       window.addEventListener('message', receiveMessage, false)
//     },
//     // 根据token执行登录
//     doThirdLogin(token) {
//       if (this.thirdLoginState === false) {
//         this.thirdLoginState = true
//         let param={};
//         param.thirdType=this.thirdType
//         param.token=token
//         this.ThirdLogin(param).then(res => {
//           if (res.success) {
//             this.loginSuccess()
//           } else {
//             this.requestFailed(res)
//           }
//         })
//       }
//     },
//     // 绑定已有账号 需要输入密码
//     thirdLoginUserBind() {
//       this.thirdLoginPassword = ''
//       this.thirdLoginUser = this.thirdLoginInfo.uuid
//       this.thirdConfirmShow = false
//       this.thirdPasswordShow = true
//     },
//     //创建新账号
//     thirdLoginUserCreate() {
//       this.thirdCreateUserLoding = true
//       // 账号名后面添加两位随机数
//       this.thirdLoginInfo['suffix'] = parseInt(Math.random() * 98 + 1)
//       //this.thirdLoginInfo.operateCode = 123 //测试校验失败
//       postAction('/sys/third/user/create', this.thirdLoginInfo).then(res => {
//         if (res.success) {
//           let token = res.result
//           console.log('thirdCreateNewAccount', token)
//           this.doThirdLogin(token)
//           this.thirdConfirmShow = false
//         } else {
//           this.$message.warning(res.message)
//         }
//       }).finally(() => {
//         this.thirdCreateUserLoding = false
//       })
//     },
//     // 核实密码
//     thirdLoginCheckPassword() {
//       //this.thirdLoginInfo.operateCode = 123 //测试校验失败
//       let param = Object.assign({}, this.thirdLoginInfo, { password: this.thirdLoginPassword })
//       postAction('/sys/third/user/checkPassword', param).then(res => {
//         if (res.success) {
//           this.thirdLoginNoPassword()
//           this.doThirdLogin(res.result)
//         } else {
//           this.$message.warning(res.message)
//         }
//       })
//     },
//     // 没有密码 取消操作
//     thirdLoginNoPassword() {
//       this.thirdPasswordShow = false
//       this.thirdLoginPassword = ''
//       this.thirdLoginUser = ''
//     },
//     //获取第三方验证码
//     getThirdCaptcha() {
//       let that = this
//       if (!this.thirdPhone) {
//         that.cmsFailed('请输入手机号')
//       } else {
//         this.thirdState.smsSendBtn = true
//         let interval = window.setInterval(() => {
//           if (that.thirdState.time-- <= 0) {
//             that.thirdState.time = 30
//             that.thirdState.smsSendBtn = false
//             window.clearInterval(interval)
//           }
//         }, 1000)
//         const hide = this.$message.loading('验证码发送中..', 0)
//         let smsParams = {}
//         smsParams.mobile = this.thirdPhone
//         smsParams.smsmode = '1'
//         postAction('/sys/sms', smsParams).then(res => {
//           if (!res.success) {
//             setTimeout(hide, 0)
//             this.cmsFailed(res.message)
//           }
//           setTimeout(hide, 500)
//         }).catch(err => {
//           setTimeout(hide, 1)
//           clearInterval(interval)
//           that.thirdState.time = 30
//           that.thirdState.smsSendBtn = false
//           this.requestFailed(err)
//         })
//       }
//     },
//     //绑定手机号点击确定按钮
//     thirdHandleOk() {
//       let bingingParams = {}
//       bingingParams.mobile = this.thirdPhone
//       bingingParams.captcha = this.thirdCaptcha
//       bingingParams.thirdUserUuid = this.thirdUserUuid
//       postAction(this.url.bindingThirdPhone, bingingParams).then(res => {
//         if (res.success) {
//           this.bindingPhoneModal = false
//           this.doThirdLogin(res.result)
//         } else {
//           this.$message.$warning(res.message)
//         }
//       })
//     },
//     loginSuccess () {
//       // update-begin- author:sunjianlei --- date:20190812 --- for: 登录成功后不解除禁用按钮，防止多次点击
//       // this.loginBtn = false
//       // update-end- author:sunjianlei --- date:20190812 --- for: 登录成功后不解除禁用按钮，防止多次点击
//       this.$router.push({ path: "/dashboard/analysis" }).catch(()=>{
//         console.log('登录跳转首页出错,这个错误从哪里来的')
//       })
//       this.$notification.success({
//         message: '欢迎',
//         description: `${timeFix()}，欢迎回来`,
//       });
//     },
//     cmsFailed(err){
//       this.$notification[ 'error' ]({
//         message: "登录失败",
//         description:err,
//         duration: 4,
//       });
//     },
//     requestFailed (err) {
//       this.$notification[ 'error' ]({
//         message: '登录失败',
//         description: ((err.response || {}).data || {}).message || err.message || "请求出现错误，请稍后再试",
//         duration: 4,
//       });
//       this.loginBtn = false;
//     },
//   }

// }